آموزش ساخت بازی سه بعدی به زبان Basic با دارک بیسیک Dark Basic تهیه و آموزش نرم افزار دارک بیسیک |
|||
سه شنبه 27 فروردين 1392برچسب:, :: 23:14 :: نويسنده : ابوالفضل
این فصل شامل دستوراتی برای ایجاد و حذف و ویرایش تصاویری با فرمت های BMP ، JPG ، TGA ، DDS ، DIB و PNG می باشد . می توان تصویر را از روی فایل فراخوانی کرد . کاربرد بیتمپ معمولا برای نمایش عکس و یا لوگوی تصویر اولیه بازی است .
دستور LOAD BITMAP این دستور تصویری را از روی فایل بر روی صفحه فراخوانی می کند . مانند دستورالعمل زیر :
LOAD BITMAP Filename,BitmapNumber
طبق این دستورالعمل به جای Filename آدرس و نام و فرمت فایل تصویری و به جای BitmapNumber شماره ای بین 0 تا 32 قرار می دهیم . توسط همین شماره می توانیم در خطوط بعدی ، تصویر مورد نظرمان را کنترل کنیم . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 1 Wait Key
اگر به جای BitmapNumber عدد صفر را قرار دهیم و یا هیچ گونه عددی قرار ندهیم ، تصویر بر روی صفحه نمایش ، نشان داده می شود . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0 Wait Key
نکته : در این دستور اگر به جای BitmapNumber عدد صفر قرار دهیم ، در حالت گرافیک قرار می گیریم . یعنی می توانیم از دستورات گرافیکی و چاپی استفاده کنیم . سایر اعداد برای محاسبات تصویری کاربرد دارند . یعنی اگر از این دستور استفاده کنیم و عددی بالا تر از صفر قرار دهیم ، فرامین چاپی و گرافیکی دیده نخواهند شد .
دستور CREATE BITMAP با این دستور می توانیم یک تصویر خالی با سایز دلخواه بسازیم . مانند دستورالعمل زیر :
CREATE BITMAP BitmapNumber,Width,Height
طبق این دستورالعمل به جای BitmapNumber یک عدد قرار می دهید تا در خطوط بعدی بر روی تصویرمان کنترل داشته باشیم . و به جای Width اندازه ی پهنای تصویر و به جای Height اندازه ی ارتفاع تصویر را قرار می دهیم . مانند مثال زیر :
CREATE BITMAP 1,640,480 WAIT KEY
در این مثال تصویری با شماره ی یک و طول 640 و ارتفاع 480 ایجاد شد .
دستور SET CURRENT BITMAP این دستور تصویر دلخواهمان را از بین دیگر تصاویر ، فعال می کند . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0 CREATE BITMAP 1,640,480 SET CURRENT BITMAP 0 WAIT KEY
اگر تصویر شماره صفر فعال باشد ، دستورات چاپی و گرافیکی قابل دیدن خواهند بود .
دستور DELETE BITMAP این دستور تصاویر ایجاد شده و یا خوانده شده از فایل را حذف می کند . در مانند دستورالعمل زیر :
DELETE BITMAP BitmapNumber
طبق این دستورالعمل به جای BitmapNumber شماره تصویر را قرار می دهیم تا تصویر مورد نظر حذف شود . مانند مثال زیر :
CREATE BITMAP 1,640,480 Load Bitmap "C:MyBitmap.bmp",2 DELETE BITMAP 1 WAIT KEY
در این مثال تصویر شماره ی 1 حذف می شود . البته از روی Ram حذف می شود، نه اینکه فایل از بین برود .
دستور COPY BITMAP این دستور تصویری را در تصویر دیگری کپی می کند . مانند دستورالعمل زیر :
COPY BITMAP FromBitmap,ToBitmap
طبق این دستورالعمل به جای FromBitmap شماره ی تصویری که می خواهیم از آن کپی تهیه کنیم و به جای ToBitmap شماره ی تصویری را که می خواهیم در آن بچسبانیم ، قرار می دهیم . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 1 Create Bitmap 2,200,200 Copy Bitmap 1,2 Wait Key
در این مثال تصویر شماره ی 1 در تصویر شماره ی 2 کپی می شود . از این دستور می توان به شکل دیگری هم استفاده کرد . مانند دستورالعمل زیر :
COPY BITMAP FromBitmap,LEFT,TOP,RIGHT,BOTTOM,ToBitmap,left,top, right,bottom
در این روش مختصات تصویر انتخابی از تصویر اول در مختصات تصویر انتخابی در تصویر دوم کپی می شود . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp",1 Create Bitmap 2,200,200 COPY BITMAP 1,50,50,100,100,2,0,0,50,50 COPY BITMAP 2,0 Set Current Bitmap 0 WAIT KEY
دستور MIRROR BITMAP این دستور تصویر را حول محور عمودی انعکاس می دهد . مانند تصویر در آینه عمودی . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp",0 Do MIRROR BITMAP 0 Wait 500 Loop
دستور FLIP BITMAP این دستور تصویر را حول محور افقی انعکاس می دهد . مانند تصویر در آینه افقی . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0 Do Flip BITMAP 0 Wait 500 Loop
دستور FADE BITMAP این دستور باعث محو شدن تصویر می شود ( تمایل به رنگ سیاه ) . مانند دستورالعمل زیر :
FADE BITMAP BitmapNumber,FadeValue
طبق این دستورالعمل به جای BitmapNumber عدد مربوط به تصویر و به جای FadeValue مقدار محوشدگی تصویر را قرار می دهیم که عددی در محدوده ی صفر تا 100 می باشد که این عدد درصد شفافیت تصویر را مشخص می کند . یعنی اگر عدد 90 را قرار دهیم ، تنها 90 درصد از شفافیت تصویر باقی خواهد ماند . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0 For I = 1 To 10 Fade BITMAP 0,90 Wait 500 Next I
دستور BLUR BITMAP این دستور باعث تار شدن تصویر می شود . مانند دستورالعمل زیر :
BLUR BITMAP BitmapNumber,BlurValue
طبق این دستورالعمل به جای BitmapNumber عدد مربوط به تصویر و به جای BlurValue مقدار تار شدگی تصویر را قرار می دهیم که عددی در محدوده ی 1 تا 6 می باشد که این عدد شدت تارشدگی تصویر را مشخص می کند . یعنی اگر عدد 1 را قرار دهیم ، تصویر به مقدار کم تار می شود و اگر بیشترین عدد یعنی 6 را قرار دهیم ، تصویر به مقدار زیاد ، تار خواهد شد . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0 Wait 1000 Blur BITMAP 0,5 Wait Key
تابع CURRENT BITMAP این تابع شماره ی تصویر فعال را برمی گرداند . مانند مثال زیر :
CREATE BITMAP 1,640,480 SET CURRENT BITMAP 0 ()PRINT CURRENT BITMAP WAIT KEY
تابع BITMAP EXIST این تابع مشخص می کند که آیا تصویر مورد نظر در حافظه موجود است یا نه . مانند مثال زیر :
CREATE BITMAP 1,640,480 Set Current Bitmap 0 (PRINT BITMAP EXIST(1 WAIT KEY
در این مثال چون تصویری با شماره ی یک در حافظه ایجاد شده ، تابع مقدار 1 و اگر این شماره تصویر در حافظه نباشد ( مثلا با دستور Delete Bitmap حذف شده باشد ) ، تابع مقدار صفر را برمی گرداند .
تابع BITMAP WIDTH و تابع BITMAP HEIGHT و تابع BITMAP DEPTH این سه تابع به ترتیب پهنا و ارتفاع و عمق رنگ ( تعداد رنگ های تشکیل دهنده ی تصویر ، مثلا 32 بیت یعنی حدود 16 میلیون رنگ ) تصویر مورد نظر را برمی گردانند . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0 (Print "Bitmap Width = " ; Bitmap Width(0 (Print "Bitmap Height = " ; Bitmap Height(0 (Print "Bitmap Depth = " ; Bitmap Depth(0 Wait Key
تابع BITMAP MIRRORED این تابع مشخص می کند که آیا تصویر مورد نظر در راستای محور افقی انعکاس پیدار کرده یا نه ( یعنی آیا از دستور MIRROR BITMAP استفاده شده است یا نه ) . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0 Do Wait 2000 MIRROR BITMAP 0 If BITMAP MIRRORED(0)=1 "Print "Bitmap Mirrored Else "Print "Bitmap Not Mirrored EndIf Loop
تابع BITMAP FLIPPED این تابع مشخص می کند که آیا تصویر مورد نظر در راستای محور عمودی انعکاس پیدار کرده یا نه ( یعنی آیا از دستور FLIPP BITMAP استفاده شده است یا نه ) . مانند مثال زیر :
Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0 Do Wait 2000 Flip BITMAP 0 If BITMAP Flipped(0)=1 "Print "Bitmap Flipped Else "Print "Bitmap Not Flipped EndIf Loop نظرات شما عزیزان:
موضوعات آخرین مطالب آرشيو وبلاگ پیوندهای روزانه پيوندها
![]() نويسندگان |
|||
![]() |